= build usage

....
./build [OPTIONS] [-- EXTRA_MAKE_ARGS]
....

== build configuration options

[options="header"]
|===
|Name |Argument name        |Description
|`-a` |`ARCH`               |Build for architecture `ARCH`.
|`-B` |`BR2_CONFIG`         |Add a single Buildroot option to the current build.
                             Example: `-B 'BR2_TARGET_ROOTFS_EXT2_SIZE="512M"'`
|`-b` |`BR2_CONFIG_FILE`    |Also use the given Buildroot configuration fragment file.
                             Pass multiple times to use multiple fragment files.
|`-C` |`CONFIG_SOMETHING`   |Also use the given Linux kernel configuration, example:
                             `./build -c 'CONFIG_FORTIFY_SOURCE=y'`
                             Can be used multiple times for multiple configs.
                             These options take precedence over `-c`.
|`-c` |`KERNEL_CONFIG_FILE` |Also use the given kernel configuration fragment file.
                             Pass multiple times to use multiple fragment files.
                             These options take precedence over `-K`.
|`-f` |                     |Skip the Buildroot configuration. Saves a few seconds,
                             but requires you to know what you are doing :-)
                             Mnemonic: `fast`.
|`-g` |                     |Enable gem5 build or force its rebuild.
|`-h` |                     |Show this help message.
|`-L` |                     |Linux kernel build variant.
|`-I` |                     |Enable initramfs for the current build.
|`-i` |                     |Enable initrd for the current build.
|`-K` |`KERNEL_CONFIG_FILE` |Use `KERNEL_CONFIG_FILE` as the exact Linux kernel
                             configuration. Ignore the default kernel config fragments,
                             but still add options explicitly passed with `-C` and `-c`.
                             on top of it.
|`-p` |                     |Pass extra arguments to the `rootfs_post_build_script`.
|`-S` |                     |Don't build QEMU with SDL support.
                             Graphics such as X11 won't work, only the terminal.
|`-s` |                     |Add a custom suffix to the build.
                             E.g., doing `./build -s mysuf` puts all the build output
                             into `out/x86_64-mysuf`. This allows keep multiple builds around
                             when you checkout between branches.
|`-v` |                     |Do a verbose build.
|===

== build target options

[options="header"]
|===
|Name |Forces rebuild of |Extra actions
|`-g` |gem5              |
|`-k` |Kernel modules    |
|`-l` |Linux kernel      |Touches kernel configuration files to overcome:
                          https://stackoverflow.com/questions/49260466/why-when-i-change-br2-linux-kernel-custom-config-file-and-run-make-linux-reconfi
|`-q` |QEMU              |
|===
